//
// AObject.hh for  in /home/gomes_m//workzone/test/gdl
// 
// Made by mickael gomes
// Login   <gomes_m@epitech.net>
// 
// Started on  Tue Apr 30 15:49:01 2013 mickael gomes
// Last update Sun May  5 09:48:42 2013 mickael gomes
//

#ifndef		PRIMITIVE_HH_
# define	PRIMITIVE_HH_

#include	<GameClock.hpp>
#include	<Clock.hpp>
#include	<Input.hpp>
#include	<Image.hpp>
#include        "Vector3f.hh"

class    AObject
{
public:
  AObject(void)
    : position_(0.0f, 0.0f, 0.0f), rotation_(0.0f, 0.0f, 0.0f)
  {
  }
  virtual void initialize(std::string const &, float, float, float, float, float) = 0;
  virtual void update(gdl::GameClock const &, gdl::Input &) = 0;
  virtual void draw(void) = 0;
protected:
  Vector3f position_;
  Vector3f rotation_;
};

#endif		// !PRIMITIVE_HH_
